/*
 * Copyright (C), 2013-2015, 韩伟
 * FileName: ILoginService.java
 * Author:   weih
 * Date:     2015年3月31日 下午4:15:29
 * Description: //模块目的、功能描述      
 * History: //修改记录
 * <author>      <time>      <version>    <desc>
 * 修改人姓名             修改时间            版本号                  描述
 */
package com.cango.qutz.web.auth.user.service;

import java.util.List;

import com.cango.qutz.web.entity.MenuEntity;
import com.cango.qutz.web.entity.ResourceEntity;
import com.cango.framework.base.entity.SessionUserVo;
import com.cango.qutz.web.entity.MenuEntity;
import com.cango.qutz.web.entity.ResourceEntity;

/**
 *  用户登录相关服务类<br> 
 * 〈功能详细描述〉
 *
 * @author weih
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface ILoginService {
    /**
     * 功能描述: <br>
     *     查询登录用户的信息
     *
     * @param loginName
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    public SessionUserVo getUserByLoginName(String loginName);
    
    /**
     * 功能描述: <br>
     *    得到登录用户拥有的菜单权限
     *
     * @param loginId
     * @param positionCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<MenuEntity> queryMenusByLoginUser(String loginId, String positionCode);

    /**
     * 功能描述: <br>
     *    得到系统管理员的菜单
     *
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<MenuEntity> getAdministratorMenus();
    
    /**
     * 功能描述: <br>
     *    获取权限按钮的功能
     *
     * @param loginId
     * @param positionCode
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<ResourceEntity> queryButtonsByLoginUser(String loginId, String positionCode);


    /**
     * 功能描述: <br>
     *   查询管理员的按钮权限
     *
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    List<ResourceEntity> queryAdminButtons();
}
